There are a number of commercially available products to create reports from data stored in a database. Business Objects Americas, Inc. of San Jose, Calif. sells a number of widely used report generation products, including Crystal Reports™, Crystal Analysis™, and Crystal Enterprise™. As used herein, the term report refers to information automatically retrieved (i.e., in response to computer executable instructions) from a data source (e.g., a database, a data warehouse, and the like), where the information is structured in accordance with a report schema that specifies the form in which the information should be presented. As discussed below, a consolidated data set refers to a combined subset of the information from multiple reports; typically, the subset of information maintains the structure specified by the report schema.
When using and sharing business intelligence report data it is often desirable to see not only a specific data value, but to understand this value within a larger data context. For example, trends in time often provide contextual guidance in evaluating the meaning of a data value. Likewise, a data value for one corporate department may be more significant when the user is provided with the same data value for other corporate departments.
Similarly, a calculated difference between the two corporate departments or for one corporate department at two different points in time can provide guidance in evaluating data. At times it may be useful for this calculated difference to also include additional calculations, such as corrections for different currency values or other accounting factors that may affect the interpretation of the data. This information about the trends and differences between data can be efficiently constructed by consolidated data sets based on existing reports.
At times it may also be desirable to provide this trend and difference data within a non-report document or application. A non-report is an electronic document that is constructed without the automatic retrieval (i.e., in response to computer executable instructions) of information from a data source. Examples of non-report electronic documents include typical business application documents, such as a word processor document, a spreadsheet document, a presentation document, and the like. In these documents, manual intervention is typically required to establish content and formatting. Presently, it is difficult to insert consolidated data sets created from discrete reports into another electronic document, such as a non-report document.
Reports can represent multiple instances, or snapshots, of data that facilitate constructing trend or differentiation data sets. By using reports as a data source, limitations associated with existing report generation tools are avoided. The creation of a new form of report or data set does not require the rebuilding of the database schema, which can be complex and time consuming. Additionally, when using reports as a data source, the report generation tools are not required to merge data directly from multiple databases although the source reports themselves may be based on multiple databases. This problem is especially acute in the case where the databases are from different vendors (e.g., Oracle®, IBM®, Microsoft®).
In view of the foregoing, it would be highly desirable to provide an improved technique for generating reports to overcome some of the limitations associated with existing report generation tools.